大数据环境下的计算任务往往具有一定数据依赖性关系(如MapReduce),现有的分布式存储系统任务资源选择策略选择离请求者最近的数据块响应服务,忽略了对数据块所在服务器CPU、磁盘I/O与网络等资源负载状态的考虑。在分析研究系统集群结构、文件分块、数据块存储机制的基础上,定义了集群节点矩阵、CPU负载矩阵、磁盘I/O负载矩阵、网络负载矩阵、文件分块矩阵、数据块存储矩阵与数据块存储节点状态矩阵,为任务与数据之间的依赖性构建了基础数据模型,提出了一种数据依赖约束下的最优资源选择算法(ORS2DC)。任务调度节点负责维护基础数据,MapReduce任务与数据块读取任务由于依赖资源不同而采取不同的选择策略。实验结果表明:所提算法能够为任务选择质量更高的资源,提高任务完成质量的同时减轻了NameNode负担,减小了单点故障发生的概率。